package mapeo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import objetos.DocumentoIdentidad;
import objetos.Usuario;

public class UsuariosMapper {

	
	
	public UsuariosMapper() {
		super();
	}

	public List<Usuario> parseListaUsuario(ResultSet rs){
		List<Usuario> resultList = new ArrayList<Usuario>();
		Usuario usuario = null;
		DocumentoIdentidad documentoIdentidad = null;
		if(rs!=null){
			try {
				
				if(rs.first()){
					do{
						usuario = new Usuario();
						
						usuario.setNombreUsuario(rs.getString("usuarios_nombre_usuario"));
						usuario.setNombres(rs.getString("usuarios_nombres"));
						usuario.setApellidos(rs.getString("usuarios_apellidos"));
						
						if(rs.getString("tipos_documentos_id") != null && rs.getString("tipos_documentos_id").length()>0){
							documentoIdentidad = new DocumentoIdentidad();
							documentoIdentidad.setId(rs.getInt("tipos_documentos_id"));
							documentoIdentidad.setNombre(rs.getString("tipos_documentos_nombre"));
							documentoIdentidad.setNombreCompleto(rs.getString("tipos_documentos_nombre_completo"));
						}
						usuario.setDocumentoIdentidad(documentoIdentidad);
						
						usuario.setNumeroDocumento(rs.getString("usuarios_numero_documento"));
						usuario.setContrasenia(rs.getString("usuarios_contrasenia"));
						
							
						resultList.add(usuario);
					}while(rs.next());
				}
				
			} catch (SQLException e) {
				e.printStackTrace();
				usuario = new Usuario();
			}
		}
		return resultList;
	}
	
	public Usuario parseUsuario(ResultSet rs){
		
		Usuario usuario = new Usuario();
		DocumentoIdentidad documentoIdentidad = null; 
		if(rs!=null){
			try {
				
				if(rs.first()){
					usuario.setNombreUsuario(rs.getString("usuarios_nombre_usuario"));
					usuario.setNombres(rs.getString("usuarios_nombres"));
					usuario.setApellidos(rs.getString("usuarios_apellidos"));
					
					if(rs.getString("tipos_documentos_id") != null && rs.getString("tipos_documentos_id").length()>0){
						documentoIdentidad = new DocumentoIdentidad();
						documentoIdentidad.setId(rs.getInt("tipos_documentos_id"));
						documentoIdentidad.setNombre(rs.getString("tipos_documentos_nombre"));
						documentoIdentidad.setNombreCompleto(rs.getString("tipos_documentos_nombre_completo"));
					}
					usuario.setDocumentoIdentidad(documentoIdentidad);
					
					usuario.setNumeroDocumento(rs.getString("usuarios_numero_documento"));
					usuario.setContrasenia(rs.getString("usuarios_contrasenia"));
					
				}
			} catch (SQLException e) {
				e.printStackTrace();
				usuario = new Usuario();
			}
		}
		return usuario;
	}
}
